/**
 * Created by Administrator on 2017/4/18.
 */
//主要用于调用微信 JS SDK

export const appId = DEV_TYPE === 'production' ? 'wx115024247518d487' : 'wx0ee2effdfc2706e1'
let isInit = false
let xPi = 3.14159265358979324 * 3000.0 / 180.0

// 获取时间戳
const getTimestamp = () => {
  let time = new Date().getTime() + ''
  return time.substring(0, 10)
}

// 获取随机串
const getNonceStr = () => {
  return Math.random() + ''
}

export const location = window.location

// 初始化
export const initWx = () => {
  return new Promise((resolve, reject) => {
    if (DEV_TYPE === 'dev') {
      resolve()
      return
    }
    if (isInit) {
      resolve()
      return
    }
    const config = {
      timestamp: getTimestamp(),
      nonceStr: getNonceStr(),
      url: location.href.split('#')[0]
    }
    callWxPreprocess(JSON.stringify(config), params.code).then(({data}) => {
      window.wx.config({
        debug: false,
        appId,
        timestamp: config.timestamp,
        nonceStr: config.nonceStr,
        signature: data.signature,
        jsApiList: ['chooseWXPay', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone',
          'getLocation']
      })
      // 注册完毕
      window.wx.ready(() => {
        isInit = true
        resolve()
      })
    }, (res) => {
      isInit = true
      resolve()
    })
  })
}
// 分享
export const initShareInfo = (title, link, imgUrl, desc, shareBizId) => {
  return new Promise((resolve, reject) => {
    initWx().then(() => {
      // 分享到朋友圈
      window.wx.onMenuShareTimeline({
        title,
        link,
        imgUrl,
        desc,
        success: function () {
          // 用户确认分享后执行的回调函数
          callBack4Share(link, '1', shareBizId)
        },
        cancel: function () {
          // 用户取消分享后执行的回调函数
        }
      })
      // 分享给朋友
      window.wx.onMenuShareAppMessage({
        title,
        link,
        imgUrl,
        desc,
        success: function () {
          // 用户确认分享后执行的回调函数
          callBack4Share(link, '2', shareBizId)
        },
        cancel: function () {
          // 用户取消分享后执行的回调函数
        }
      })
      // 分享到QQ
      window.wx.onMenuShareQQ({
        title,
        link,
        imgUrl,
        desc,
        success: () => {
          // 用户确认分享后执行的回调函数
          callBack4Share(link, '3', shareBizId)
        },
        cancel: () => {
          // 用户取消分享后执行的回调函数
        }
      })
      // 分享到腾讯微博
      window.wx.onMenuShareWeibo({
        title,
        link,
        imgUrl,
        desc,
        success: () => {
          // 用户确认分享后执行的回调函数
          callBack4Share(link, '4', shareBizId)
        },
        cancel: () => {
          // 用户取消分享后执行的回调函数
        }
      })
      // 分享到QQ空间
      window.wx.onMenuShareQZone({
        title,
        link,
        imgUrl,
        desc,
        success: () => {
          // 用户确认分享后执行的回调函数
          callBack4Share(link, '5', shareBizId)
        },
        cancel: () => {
          // 用户取消分享后执行的回调函数
        }
      })
    })
  })
}








